home *** CD-ROM | disk | FTP | other *** search
/ Chip: 2005 Utilities / CHIP Utilities 2005 / CHIP Utilities 2005.iso / dosapps / chooser / chooser.pas < prev    next >
Encoding:
Pascal/Delphi Source File  |  2004-06-03  |  1.4 KB  |  58 lines

  1. { written by Adrian Stanciu (email: adrian <at> sadyc.net) }
  2.  
  3. uses crt,dos;
  4.  
  5. var
  6.         menuString:array[1..100] of String;
  7.         menuCount:integer;
  8.         menuSize:array[1..100] of longint;
  9.         Dir: SearchRec;
  10.         Drive: String;
  11.         Number: integer;
  12.  
  13.  
  14. procedure writeMenu;
  15. var i,j,id, col:integer;
  16. begin
  17.   col := menuCount div 23;
  18.   for i:=0 to 22 do
  19.   begin
  20.        for j:=1 to col do
  21.        begin
  22.           id := i*col +j;
  23.           if id>menuCount then break;
  24.           write(id:2,' '+MenuString[id] +Space(12-Length(MenuString[id])));
  25.           write(MenuSize[id]:8,'k');
  26.           if (j<>col) then write(' | ');
  27.        end;
  28.        writeln;
  29.   end;
  30.   write('Choose the number for the image you want to write (0 to exit): ');
  31. end;
  32.  
  33. begin
  34.   Drive := GetEnv('CDROM');
  35.   if (Drive='') then Drive := 'L:';
  36.   FindFirst(Drive+'\images\*.*', archive, Dir);
  37.   WriteLn('filename: ');
  38.   menucount:=0;
  39.   while(DosError=0) do
  40.   begin
  41.         inc(menuCount);
  42.         menuString[menuCount]:=Dir.Name;
  43.         menuSize[menuCount]:=Dir.Size div 1024;
  44.         FindNext(Dir);
  45.   end;
  46.  
  47.   Number:=1;
  48.   while(Number<>0) do
  49.   begin
  50.  
  51.         ClrScr;
  52.         writeMenu;
  53.         readln(Number);
  54.         if (Number>menuCount) or (Number<1) then continue;
  55.         Exec('rawrite.exe', '-d a: -f '+Drive+'\images\'+menuString[Number]);
  56.   end;
  57.  
  58. end.